home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 41
/
Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso
/
Aminet
/
gfx
/
edit
/
AmiCAD_2.07.lha
/
AmiCAD
/
ARexx
/
Tourner.AmiCAD
< prev
next >
Wrap
Text File
|
2000-11-12
|
2KB
|
80 lines
/* Rotation d'un composant en conservant un emplacement
correct de sa référence et de sa valeur.
Version 1.00: 11 août 1998
Version 1.01: 14 avril 2000 (Adaptation version 2.05)
Version 1.02: 12 novembre 2000 (Localisation anglais/français)
$VER: Tourner.AmiCAD 1.02, © R.Florac, 12 novembre 2000 */
options results
signal on error
signal on syntax
'LANGUAGE'
if result="français.language" then fr=1
else fr=0
nr=0; objet=1
'SAVEALL:OBJECTS'; objets=result
if objets=0 then do
if fr=1 then 'MESSAGE("Il n''y a aucun objet"+CHR(10)+"sur ce schéma !")'
else 'MESSAGE("There is no object"+CHR(10)+"on the document !")'
exit
end
do while objet>0
'O=FINDOBJ('objet',1,-1,-1)'; objet=result
if objet>0 then do
'TEST(O)'
if result>0 then do
nr=nr+1
call tourner(objet)
end
objet=objet+1
if objet>objets then objet=0
end
end
if nr=0 then do
if fr=1 then 'PICKOBJ("Cliquez sur l''objet à faire tourner")'
else 'PICKOBJ("Click on the objet to rotate")'
objet=result
call tourner(objet)
end
exit
tourner: procedure
parse arg o
'GETPOS(O='o')'; p=result
'ROTATE(O,1):V=GETVAL(O)'
if result>0 then do
if p=1 | p=3 then do
'MOVE(V,COL(O)-COL(V)+10,LINE(O)+HEIGHT(O)-LINE(V)+9)'
end
else do
'MOVE(V,COL(O)+WIDTH(O)-COL(V)+9,LINE(O)+HEIGHT(O)-(HEIGHT(O)-20)/2-1-LINE(V))'
end
end
'R=GETREF(O)'
if result>0 then do
if p=1 | p=3 then do
'MOVE(R,COL(O)-COL(R)+10,LINE(O)-LINE(R))'
end
else do
'MOVE(R,COL(O)+WIDTH(O)-COL(R)+9,LINE(O)+HEIGHT(O)-(HEIGHT(O)-20)/2-11-LINE(R))'
end
end
return
/* Traitement des erreurs, interruption du programme */
syntax:
erreur=RC
if fr=1 then 'MESSAGE("Script Tourner.AmiCAD"+CHR(10)+"Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
else 'MESSAGE("Tourner.AmiCAD script"+CHR(10)+"Syntax error"+CHR(10)+"in line 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
exit
error:
if fr=1 then 'MESSAGE("Script Tourner.AmiCAD"+CHR(10)+"Erreur en ligne 'SIGL'")'
else 'MESSAGE("Tourner.AmiCAD script"+CHR(10)+"Error in line 'SIGL'")'
exit